package com.legendshop.openportal.sdk.model.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 父订单响应
 *
 * @author EDaoren
 */
@Data
@ApiModel("父订单详情响应")
public class ParentOrderDetailResponse extends OrderDetailResponse {

	private static final long serialVersionUID = -8494890836891878163L;

	/**
	 * 父订单详情
	 */
	@ApiModelProperty("父订单详情")
	private POrder porder;

	/**
	 * 子订单详情
	 */
	@ApiModelProperty("子订单详情")
	private List<COrder> corder;

	@Data
	public static class POrder implements Serializable {

		private static final long serialVersionUID = 3119484186173796710L;

		/**
		 * 订单号
		 */
		@ApiModelProperty("订单号")
		private String subNumber;

		/**
		 * 运费
		 */
		@ApiModelProperty("运费")
		private BigDecimal freight;

		/**
		 * 订单总金额。
		 */
		@ApiModelProperty("订单总金额")
		private BigDecimal orderPrice;

	}

	/**
	 * 子订单
	 *
	 * @author EDaoren
	 */
	@Data
	public static class COrder implements Serializable {

		private static final long serialVersionUID = 5627230400517488563L;

		/**
		 * 父订单号。为0时，此订单为父单。
		 */
		@ApiModelProperty("父订单号")
		private String porder;

		/**
		 * 订单编号
		 */
		@ApiModelProperty("订单号")
		private String subNumber;

		/**
		 * 订单状态 1: 待确认 2：待发货（已确认） 3：待收货（已发货） 4：已完成（已收货） 5：已取消
		 */
		@ApiModelProperty("订单状态")
		private Integer orderState;

		/**
		 * 商品列表
		 */
		@ApiModelProperty("商品列表")
		private List<OrderSku> skuList;

		/**
		 * 运费
		 */
		@ApiModelProperty("运费")
		private BigDecimal freight;

		/**
		 * orderPrice=商品总金额
		 * （不包含运费，订单总金额 freight+ orderPrice）
		 */
		@ApiModelProperty("商品总金额（不包含运费）")
		private BigDecimal orderPrice;
	}

}



